---
title: clsPolicyPeriodCollection
summary: API reference for clsPolicyPeriodCollection.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPolicyPeriodCollection

`clsPolicyPeriodCollection` retrieves and holds the ordered set of `clsPolicyPeriod` instances for a
policy, and is the sole populator of `clsPolicyPeriod` objects (which have no independent retrieval
of their own).

## Purpose
- Retrieves the ordered set of policy periods for a policy via [SQL-VP-022](../../sql/SQL-022-getpolicyperiods.md).
- Populates each `clsPolicyPeriod` member via `Load(...)` during `AfterRetrieve`.

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded library reference)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Item` | `Default ReadOnly Property Item(index As Integer) As clsPolicyPeriod` | Returns the period at the given index. |
| `Count` | `ReadOnly Property Count As Integer` | Number of policy periods retrieved for the policy. |

## Inherited public members

Members in this section are inherited from `clsBusinessCollectionBase` in `saif.framework.core`.
They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `IsFirst` / `First()` / `FirstItem` | Traversal members | Navigate to and identify the first item in the collection.† | `saif.framework.core` — `clsBusinessCollectionBase` |
| `Next()` / `IsNext` / `NextItem` | Traversal members | Navigate to and identify the next item in the collection.† | `saif.framework.core` — `clsBusinessCollectionBase` |
| `IsLast` / `LastItem` / `Last()` | Traversal members | Navigate to and identify the last item in the collection.† | `saif.framework.core` — `clsBusinessCollectionBase` |
| `ErrorCount` / `ErrorMessages` | Properties | Aggregated error count/messages across all member items.† | `saif.framework.core` — `clsBusinessCollectionBase` |
| `Save()` | `Sub Save()` | Saves the collection, with guards for unmanaged/child/mid-edit/invalid states.† | `saif.framework.core` — `clsBusinessCollectionBase` |

## Behavioral notes
- Retrieval accepts an `aTopNPolPer` parameter that limits the number of periods returned ([SQL-VP-022](../../sql/SQL-022-getpolicyperiods.md)).*

## Constraints and usage notes
- The individual `clsPolicyPeriod` items should not be independently retrieved — only this collection's `BeforeRetrieve`/`AfterRetrieve` populates them.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPolicyPeriodCollection.vb`
